<?php
/**
 * 内置函数库文件
 * @author 暮雨秋晨
 * @copyright 2014
 */

/**
 * 获取文件后缀名
 */
function getExt($file)
{
    return pathinfo($file, PATHINFO_EXTENSION);
}

/**
 * 时间格式化
 */
function timeFormat($time_stamp)
{

}

/**
 * 各类型验证函数，为filter()函数的扩展函数
 */

//使用正则表达式进行验证（filter分支函数）
function Filter_RegExp($string, $regexp)
{
    if (filter_var($string, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" =>
                "{$regexp}")))) {
        return true;
    } else {
        return false;
    }
}
//邮箱验证函数（filter分支函数）
function Filter_Mail($str)
{
    if (filter_var($str, FILTER_VALIDATE_EMAIL)) {
        return true;
    } else {
        return false;
    }
}
//URL验证函数（Filter分支函数）
function Filter_Url($url)
{
    if (filter_var($url, FILTER_VALIDATE_URL)) {
        return true;
    } else {
        return false;
    }
}
//IP验证函数（Filter分支函数）
function Filter_Ip($ip)
{
    if (filter_var($ip, FILTER_VALIDATE_IP)) {
        return true;
    } else {
        return false;
    }
}

/**
 * 数据转义
 */
function DataEscape($data)
{
    if (is_array($data)) {
        foreach ($data as $key => $val) {
            if (is_array($val)) {
                $data[$key] = DataEscape($val);
            } else {
                $data[$key] = htmlspecialchars(addslashes($val), ENT_QUOTES);
            }
        }
    } else {
        $data = htmlspecialchars(addslashes($data), ENT_QUOTES);
    }
    return $data;
}

/**
 * 变量信息打印函数
 */
function dump()
{
    $args = func_get_args();
    if (!empty($args)) {
        foreach ($args as $arg) {
            echo ("\r\n" . '<br />--[Debug start]--<br />' . "\r\n");
            if (is_array($arg)) {
                echo ('<pre>');
                print_r($arg);
                echo ('</pre>');
            } elseif (is_string($arg)) {
                echo ($arg);
            } else {
                var_dump($arg);
            }
            echo ("\r\n" . '<br />--[Debug   end]--<br />' . "\r\n");
        }
    }
}

/**
 * 自动加载函数
 */
function autoload($name)
{
    $name = trim($name);
    if (is_file($file = FRAMEWORK_CORE . $name . '.php')) {
        require_once $file;
    } elseif (is_file($file = FRAMEWORK_CORE . 'C' . DS . $name . '.php') || is_file
    ($file = FRAMEWORK_CORE . 'M' . DS . $name . '.php') || is_file($file =
        FRAMEWORK_CORE . 'V' . DS . $name . '.php') || is_file($file = FRAMEWORK_LIBS .
        strtolower($name) . '.class.php')) {
        require_once $file;
    } else {
        throw new exception('[FatalError] The class file [' . $name . '] does not exist');
        return false;
    }
}

/**
 * @abstract 异常捕获函数
 */
function exception_handler($e)
{
    die('Mesg: ' . $e->getMessage() . '<br />' . 'Line: ' . $e->getLine() . '<br />' .
        'File: ' . $e->getFile());
}
